/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gestionpistas;

import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import java.sql.*;
import javax.swing.*;

/**
 *
 * @author MiguelAngel
 */
public class PistaBD {
    
    public boolean CrearPista(Pista p){
        gestorJDBC gestor = new gestorJDBC();
        gestor.Conectar();
        
        //Obtener el id
        int cant=0;  
        ResultSet rs=gestor.Consultar("SELECT max(Pistas.id_pistas) AS id_pistas FROM Pistas");
        try {
            rs.next();
            cant=(Integer)rs.getObject("id_pistas");
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Numero de pistas es 0\n"+e.getMessage());
        }	
        cant++;
        
        //Insertar Datos*/
        boolean valido = gestor.Insertar("INSERT INTO Pistas (id_pistas,nombre, direccion, localidad, alta) VALUES ('"+cant+"','"+p.getnombre()+"','"+p.getdireccion()+"','"+p.getlocalidad()+"','Si')");
        gestor.Desconectar();
        return valido;
    }
    
    /*
    public Pista getDatosPista(String nombre){
        
        gestorJDBC gestor = new gestorJDBC();
        gestor.Conectar();
        Pista p = new Pista();
	ResultSet rs = gestor.Consultar("select * from Pistas where nombre='"+nombre+"'");

	try {
            rs.next();
            p.setid_pistas((Integer)rs.getObject("id_pistas"));
            p.setnombre(rs.getObject("nombre").toString());
            p.setdireccion(rs.getObject("direccion").toString());
            p.setlocalidad(rs.getObject("localidad").toString());
            p.setalta(rs.getObject("alta").toString());

        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Error obtener la persona en PersonaDB\n"+e.getMessage());
	}
        
        gestor.Desconectar();
	return p;
    }
    */
    
    public boolean darBajaPista(Integer id) {
        gestorJDBC gestor = new gestorJDBC();
	gestor.Conectar();
	boolean valido = gestor.Modificar("UPDATE Pistas SET alta='No' WHERE id_pistas='" + id + "'");
        
      	gestor.Desconectar();
	
        return valido;
    }
       
    public ArrayList<Pista> getPistas(String nombre){
        
        ArrayList<Pista> pistas = new ArrayList<Pista>();
        gestorJDBC gestor = new gestorJDBC();
        gestor.Conectar();
	ResultSet rs = null;
        
        rs = gestor.Consultar("select * from Pistas where nombre='"+nombre+"'");
           
	int i = 0; 
        try{
            while(rs.next()){
                
                pistas.add(new Pista());
                pistas.get(i).setid_pistas((Integer) rs.getObject("id_pistas"));
                pistas.get(i).setnombre(rs.getObject("nombre").toString());
                pistas.get(i).setdireccion(rs.getObject("direccion").toString());
                pistas.get(i).setlocalidad(rs.getObject("localidad").toString());
                pistas.get(i).setalta(rs.getObject("alta").toString());
        
                i++;
            }
        }catch(SQLException e ){
            JOptionPane.showMessageDialog(null,"Error al obtener la lista de pistas\n"
							+ e.getMessage());
	}
        
        gestor.Desconectar();
                
        return pistas;
    }
        
}
